#ifndef FASYS_LIBS_SUBSCRIBER_SUBSCRIBER_MANAGER_HPP
#define FASYS_LIBS_SUBSCRIBER_SUBSCRIBER_MANAGER_HPP

#include "types.hpp"
#include "subscription.hpp"
#include <boost/random.hpp>
#include <boost/uuid/uuid_generators.hpp>

namespace fasys{ namespace subscriber{

class subscriber_manager
{
public:
  ~subscriber_manager();
  subscriber_manager();

  void create_subscription(create_subscription_request& request, create_subscription_response& response);

  void publish(const message_notify& cmd);
  void publish(const message_list_response& cmd);

private:
  boost::mt19937 _ran;
  boost::uuids::basic_random_generator<boost::mt19937> _gen;
};

}}

#endif
